home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Gigarom 1
/
Gigarom Macintosh Archives (Quantum Leap)(CDRM1080320)(1993).iso
/
FILES
/
DEM
/
S-Z
/
Special Delivery™ Demo.cpt
/
Special Delivery™ Demo
/
Claris
/
Claris Translators
/
EPSF.rsrc
/
PS_303
< prev
next >
Wrap
Text File
|
1991-06-19
|
9KB
|
389 lines
%%BeginProcSet : rampdelta
/rampdelta {
/len 0 3 -1 roll add def
/i2 0 3 -1 roll add def
/i1 0 3 -1 roll add def
/nRampSteps len cellPenW div cvi 1 add dup 512 gt {pop 512} if def
/rampPenW len nRampSteps div def
rampColors i1 get aload pop c1 astore pop
rampColors i2 get aload pop c2 astore pop
c2 0 get c1 0 get sub nRampSteps div d 0 3 -1 roll put
c2 1 get c1 1 get sub nRampSteps div d 1 3 -1 roll put
c2 2 get c1 2 get sub nRampSteps div d 2 3 -1 roll put
d aload pop
} bind def
%%EndProcSet
%%BeginProcSet : adddelta
/adddelta {
d astore pop
mycurrentrgbcolor c1 copy pop
c1 0 get d 0 get add c2 0 3 -1 roll put
c1 1 get d 1 get add c2 1 3 -1 roll put
c1 2 get d 2 get add c2 2 3 -1 roll put
c2 aload pop setrgbcolor
c2 mycurrentrgbcolor copy pop
} bind def
%%EndProcSet
%%BeginProcSet : rampline
/rampline {
segbox ulx get rampPenW add segbox ulx 3 -1 roll put
segbox llx get rampPenW add segbox llx 3 -1 roll put
segbox ulx get segbox uly get moveto
segbox llx get segbox lly get lineto
delta aload pop adddelta stroke
}bind def
%%EndProcSet
%%BeginProcSet : slantrampseg
/slantrampseg {
gsave newpath
segbox ulx get segbox urx get sub abs
rampdelta delta astore pop
segbox ulx get rampPenW .5 mul sub segbox ulx 3 -1 roll put
segbox llx get rampPenW .5 mul sub segbox llx 3 -1 roll put
rampColors exch get aload mycurrentrgbcolor copy pop setrgbcolor
rampPenW setlinewidth nRampSteps {rampline} repeat
grestore
}bind def
%%EndProcSet
%%BeginProcSet : flipramp
/flipramp {
rampColors 0 get rampColors 3 get rampColors 0 3 -1 roll put rampColors 3 3 -1 roll put
rampColors 1 get rampColors 2 get rampColors 1 3 -1 roll put rampColors 2 3 -1 roll put
} bind def
%%EndProcSet
%%BeginProcSet : leftrbox
/leftrbox {
rbox segbox copy pop
rbox urx get rbox ulx get sub
flipRatio mul dup
segbox ulx get add segbox urx 3 -1 roll put
segbox llx get add segbox lrx 3 -1 roll put
} bind def
%%EndProcSet
%%BeginProcSet : rightrbox
/rightrbox {
rbox segbox copy pop
rbox urx get rbox ulx get sub
flipRatio mul dup
segbox ulx get add segbox ulx 3 -1 roll put
segbox llx get add segbox llx 3 -1 roll put
} bind def
%%EndProcSet
%%BeginProcSet : drawslantramp
/drawslantramp {
segbox urx get segbox ulx get sub 3 div dup dup dup dup dup dup dup dup dup
segbox ulx get add segbox urx 3 -1 roll put
segbox llx get add segbox lrx 3 -1 roll put
segbox aload pop
0 0 1 slantrampseg
segbox astore pop
segbox ulx get add segbox ulx 3 -1 roll put
segbox llx get add segbox llx 3 -1 roll put
segbox urx get add segbox urx 3 -1 roll put
segbox lrx get add segbox lrx 3 -1 roll put
segbox aload pop
1 1 2 slantrampseg
segbox astore pop
segbox ulx get add segbox ulx 3 -1 roll put
segbox llx get add segbox llx 3 -1 roll put
segbox urx get add segbox urx 3 -1 roll put
segbox lrx get add segbox lrx 3 -1 roll put
2 2 3 slantrampseg
}bind def
%%EndProcSet
%%BeginProcSet : tan
/tan {
dup sin exch cos div
}bind def
%%EndProcSet
%%BeginProcSet : rampbox
/rampbox {
pbox top get dup rbox uly 3 -1 roll put rbox ury 3 -1 roll put
pbox left get dup rbox ulx 3 -1 roll put rbox llx 3 -1 roll put
pbox bottom get dup rbox lly 3 -1 roll put rbox lry 3 -1 roll put
pbox right get dup rbox urx 3 -1 roll put rbox lrx 3 -1 roll put
}bind def
%%EndProcSet
%%BeginProcSet : rampbox
/LoadSegBox {
4 copy
segbox llx 6 -1 roll put
segbox lly 5 -1 roll put
segbox lrx 4 -1 roll put
segbox lry 6 -1 roll put
segbox urx 5 -1 roll put
segbox ury 3 -1 roll put
segbox ulx 4 -1 roll put
segbox uly 3 -1 roll put
} bind def
/TransToCenter {
gsave
flattenpath
pathbbox
grestore
2 index
sub 2.0 div exch
3 index sub 2.0 div
4 -1 roll add
3 1 roll add
translate
} bind def
/RotRampGrad {
gsave
TransToCenter
-1.0 mul 180.0 add rotate
flattenpath
pathbbox
clip
newpath
LoadSegBox
flipRatio 1 lt dup{flipramp}if flipRatio 0 gt and
{
/flipRatio 1.0 flipRatio sub def
segbox rbox copy pop leftrbox drawslantramp flipramp rightrbox drawslantramp
}
{drawslantramp} ifelse
grestore
} bind def
/bbg {
pbox exch get
} bind def
%%BeginProcSet : DR
/DR { % Directional ramp
/workingMatrix mstore def
objectCord setmatrix
flipramp
gsave
flattenpath pathbbox
grestore
pbox bottom 3 -1 roll put pbox right 3 -1 roll put pbox top 3 -1 roll put pbox left 3 -1 roll put
rampAngle RotRampGrad
RF
workingMatrix setmatrix
}bind def
%%EndProcSet
%%BeginProcSet : ramparc
/ramparc {
gsave
circum rampdelta delta astore pop
/rampPenW 60.0 nRampSteps div def
/ang1 exch rampAngle sub def
/ang2 rampPenW ang1 add def
rampColors exch get aload mycurrentrgbcolor copy pop setrgbcolor 1 setlinewidth
nRampSteps {ramparcseg}repeat
grestore
}bind def
%%EndProcSet
%%BeginProcSet : ramparcseg
/ramparcseg {
newpath
rampcenter aload pop moveto
rampcenter aload pop rampradius ang2 ang1 arcn fill
/ang1 ang2 def
/ang2 ang2 rampPenW add def
delta aload pop adddelta
}bind def
%%EndProcSet
/GetRadius {
rbox urx get rbox llx get sub 2 div rampcenter 0 get abs add dup mul
rbox lly get rbox ury get sub 2 div rampcenter 1 get abs add dup mul
add sqrt
} bind def
%%BeginProcSet : circularRamp
/circularRamp {
rampbox
/rampradius GetRadius def
CalcCrcm
flipramp
0 0 0 1 ramparc
1 60 1 2 ramparc
2 120 2 3 ramparc
flipramp
0 180 0 1 ramparc
1 240 1 2 ramparc
2 300 2 3 ramparc
}bind def
%%EndProcSet
/GetCircumf {
2.0 mul 3.1415926 mul
} bind def
/CalcCrcm {
rampradius GetCircumf
/circum exch 6.0 div def
} bind def
%%BeginProcSet : CR
/CR {
gsave
clip
MTC currentmatrix pop
CTM setmatrix
flattenpath
pathbbox pbox bottom 3 -1 roll put pbox right 3 -1 roll put pbox top 3 -1 roll put pbox left 3 -1 roll put
pbox left get pbox right get sub abs 2 div
pbox left get add rampcenter 0 get add rampcenter 0 3 -1 roll put
pbox top get pbox bottom get sub abs 2 div
pbox top get add rampcenter 1 get add rampcenter 1 3 -1 roll put
circularRamp
MTC setmatrix
grestore
RF
}bind def
%%EndProcSet
%%BeginProcSet : shaperamp
/SBR {
gsave
clip
/workingMatrix mstore def
objectCord setmatrix
flattenpath
/BaseBox pathbbox 4 array astore def
/len BaseBox 2 get BaseBox 0 get sub dup mul
BaseBox 3 get BaseBox 1 get sub dup mul
add sqrt
12.0 div
def
/EndBox
BaseBox aload pop
3 -1 roll sub
3 1 roll
exch sub
/dbx exch def
/dby exch def
BaseBox aload pop pop pop
/blly exch def
/bllx exch def
sbox 0 get 100.0 div dby mul blly add
sbox 1 get 100.0 div dbx mul bllx add
sbox 2 get 100.0 div dby mul blly add
sbox 3 get 100.0 div dbx mul bllx add
exch
4 -2 roll
exch
4 -2 roll
4 array astore
def
BaseBox EndBox ShapeBurst
workingMatrix setmatrix
grestore
} bind def
%%EndProcSet
/GetBoxCenter {
2 index
sub 2.0 div
3 -1 roll add
3 1 roll
1 index sub
2.0 div add
exch
} bind def
/GetInterBox {
/boxInter exch def
4 1 7 {
-1 roll
7 index
} for
sub boxInter mul
8 -1 roll add
7 1 roll
sub boxInter mul
7 -1 roll add
6 1 roll
sub boxInter mul
6 -1 roll add
5 1 roll
sub boxInter mul
5 -1 roll add
4 1 roll
} bind def
/GetBoxCenterDeltas {
GetBoxCenter
6 2 roll
GetBoxCenter
3 -1 roll exch sub
3 1 roll sub
exch
} bind def
/GetBoxCornerDeltas {
pop pop
4 2 roll pop pop
3 -1 roll sub
3 1 roll exch sub
exch
} bind def
%%BeginProcSet : getpath
/getpath {
/k 0 def
{/k k 1 add def pop pop}{/k k 1 add def pop pop}{/k k 1 add def pop pop pop pop pop pop}{}pathforall
/pfa k array def
/k 0 def
{{moveto} 3 array astore pfa k 3 -1 roll put /k k 1 add def}
{{lineto} 3 array astore pfa k 3 -1 roll put /k k 1 add def}
{{curveto} 7 array astore pfa k 3 -1 roll put /k k 1 add def}
{}pathforall
}bind def
%%EndProcSet
/ShapeBurst {
getpath
newpath
/SBERect exch 4 array copy def
/SBBRect exch 4 array copy def
/interRect1 SBBRect aload pop SBERect aload pop .3333333 GetInterBox 4 array astore def
/interRect2 SBBRect aload pop SBERect aload pop .6666666 GetInterBox 4 array astore def
0 0 1 SBBRect interRect1 ShapeBurstSeg
msave
interRect1 0 get interRect1 1 get translate
SBBRect aload pop interRect1 aload pop GetBoxesRatio scale
SBBRect 0 get -1.0 mul SBBRect 1 get -1.0 mul translate
1 1 2 interRect1 interRect2 ShapeBurstSeg
mrestore
msave
interRect2 0 get interRect2 1 get translate
SBBRect aload pop interRect2 aload pop GetBoxesRatio scale
SBBRect 0 get -1.0 mul SBBRect 1 get -1.0 mul translate
2 2 3 interRect2 SBERect ShapeBurstSeg
mrestore
} bind def
/ShapeBurstSeg {
/sbr1 exch 4 array copy def
/sbr0 exch 4 array copy def
/blx sbr0 0 get def
/bly sbr0 1 get def
len rampdelta delta astore pop
sbr0 aload pop sbr1 aload pop GetBoxesRatio
/ratioY exch def
/ratioX exch def
sbr0 aload pop sbr1 aload pop GetBoxCornerDeltas
/dlly exch nRampSteps div def
/dllx exch nRampSteps div def
/scaleStepX 1.0 ratioX sub nRampSteps div def
/scaleStepY 1.0 ratioY sub nRampSteps div def
/currentScaleX 1.0 scaleStepX sub def
/currentScaleY 1.0 scaleStepY sub def
/translationX blx dllx add def
/translationY bly dlly add def
/currentScaleX 1.0 def
/currentScaleY 1.0 def
/translationX blx def
/translationY bly def
rampColors exch get aload mycurrentrgbcolor copy pop setrgbcolor
nRampSteps {
msave
translationX translationY translate
currentScaleX currentScaleY scale
blx -1.0 mul bly -1.0 mul translate
pfa {aload pop exec} forall fill
delta aload pop adddelta
/translationX translationX dllx add def
/translationY translationY dlly add def
/currentScaleX currentScaleX scaleStepX sub def
/currentScaleY currentScaleY scaleStepY sub def
mrestore
} repeat
msave
translationX translationY translate
currentScaleX currentScaleY scale
blx -1.0 mul bly -1.0 mul translate
pfa {aload pop exec} forall fill
mrestore
} bind def